package com.hospital.workstation.domain.bo;

import com.hospital.common.core.validate.AddGroup;
import com.hospital.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.*;

import java.util.Date;

import com.hospital.common.core.domain.BaseEntity;

/**
 * 入院药学评估业务对象 hospital_pharmacy_assess
 *
 * @author whb
 * @date 2023-02-10
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class PharmacyAssessBo extends BaseEntity {

    /**
     * 评估ID
     */
    // @NotNull(message = "评估ID不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 病历号
     */
    // @NotNull(message = "病历号不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer medicalRecordNo;

    /**
     * 自理能力标签
     */
    // @NotBlank(message = "自理能力标签不能为空", groups = { AddGroup.class, EditGroup.class })
    private String selfCareAbilityLabel;

    /**
     * 自理能力分值
     */
    // @NotNull(message = "自理能力分值不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer selfCareAbilityScore;

    /**
     * 患者自述能力评价标签
     */
    // @NotBlank(message = "患者自述能力评价标签不能为空", groups = { AddGroup.class, EditGroup.class })
    private String expressionAbilityLabel;

    /**
     * 患者自述能力评价分值
     */
    // @NotNull(message = "患者自述能力评价分值不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer expressionAbilityScore;

    /**
     * 护理级别标签
     */
    // @NotBlank(message = "护理级别标签不能为空", groups = { AddGroup.class, EditGroup.class })
    private String careLevelLabel;

    /**
     * 护理级别分值
     */
    // @NotNull(message = "护理级别分值不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer careLevelScore;

    /**
     * 患者一般状况总分值
     */
    // @NotNull(message = "患者一般状况总分值不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer generalConditionScore;

    /**
     * 烟酒嗜好标签
     */
    // @NotBlank(message = "烟酒嗜好标签不能为空", groups = { AddGroup.class, EditGroup.class })
    private String smokeWineLabel;

    /**
     * 烟酒嗜好分值
     */
    // @NotNull(message = "烟酒嗜好分值不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer smokeWineScore;

    /**
     * 饮食嗜好标签
     */
    // @NotBlank(message = "饮食嗜好标签不能为空", groups = { AddGroup.class, EditGroup.class })
    private String eatLabel;

    /**
     * 饮食嗜好分值
     */
    // @NotNull(message = "饮食嗜好分值不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer eatScore;

    /**
     * 运动习惯标签
     */
    // @NotBlank(message = "运动习惯标签不能为空", groups = { AddGroup.class, EditGroup.class })
    private String sportLabel;

    /**
     * 运动习惯分值
     */
    // @NotNull(message = "运动习惯分值不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer sportScore;

    /**
     * 患者生活方式总分值
     */
    // @NotNull(message = "患者生活方式总分值不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer liveStyleScore;

    /**
     * 是否忘记服药标签
     */
    // @NotBlank(message = "是否忘记服药标签不能为空", groups = { AddGroup.class, EditGroup.class })
    private String isForgetTakePillsLabel;

    /**
     * 是否忘记服药分值
     */
    // @NotNull(message = "是否忘记服药分值不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer isForgetTakePillsSocre;

    /**
     * 是否减少或停止服药标签
     */
    // @NotBlank(message = "是否减少或停止服药标签不能为空", groups = { AddGroup.class, EditGroup.class })
    private String isReduceStopPillsLabel;

    /**
     * 是否减少或停止服药分值
     */
    // @NotNull(message = "是否减少或停止服药分值不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer isReduceStopPillsScore;

    /**
     * 是否忘记随身携带药物标签
     */
    // @NotBlank(message = "是否忘记随身携带药物标签不能为空", groups = { AddGroup.class, EditGroup.class })
    private String isForgetCarryPillsLabel;

    /**
     * 是否忘记随身携带药物分值
     */
    // @NotNull(message = "是否忘记随身携带药物分值不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer isForgetCarryPillsScore;

    /**
     * 坚持治疗计划是否有困难标签
     */
    // @NotBlank(message = "坚持治疗计划是否有困难标签不能为空", groups = { AddGroup.class, EditGroup.class })
    private String isInsistLabel;

    /**
     * 坚持治疗计划是否有困难分值
     */
    // @NotNull(message = "坚持治疗计划是否有困难分值不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer isInsistScore;

    /**
     * 记住按时按量服药是否困难标签
     */
    // @NotBlank(message = "记住按时按量服药是否困难标签不能为空", groups = { AddGroup.class, EditGroup.class })
    private String isTimeAmountLabel;

    /**
     * 记住按时按量服药是否困难分值
     */
    // @NotNull(message = "记住按时按量服药是否困难分值不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer isTimeAmountScore;

    /**
     * 既往用药依从性总分值
     */
    // @NotNull(message = "既往用药依从性总分值不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer eatPillsHobbyScore;

    /**
     * 对所患疾病了解程度标签
     */
    // @NotBlank(message = "对所患疾病了解程度标签不能为空", groups = { AddGroup.class, EditGroup.class })
    private String illnessKnowLabel;

    /**
     * 对所患疾病了解程度分值
     */
    // @NotNull(message = "对所患疾病了解程度分值不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer illnessKnowScore;

    /**
     * 药物用法用量标签
     */
    // @NotBlank(message = "药物用法用量标签不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pillsAmountLabel;

    /**
     * 药物用法用量分值
     */
    // @NotNull(message = "药物用法用量分值不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer pillsAmountScore;

    /**
     * 潜在不良反应标签
     */
    // @NotBlank(message = "潜在不良反应标签不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pillsBadLabel;

    /**
     * 潜在不良反应分值
     */
    // @NotNull(message = "潜在不良反应分值不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer pillsBadScore;

    /**
     * 药物相互作用标签
     */
    // @NotBlank(message = "药物相互作用标签不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pillsEffectLabel;

    /**
     * 药物相互作用分值
     */
    // @NotNull(message = "药物相互作用分值不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer pillsEffectScore;

    /**
     * 一般医药知识总分值
     */
    // @NotNull(message = "一般医药知识总分值不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer generalPillsScore;

    /**
     * 入院药学评估总分值
     */
    // @NotNull(message = "入院药学评估总分值不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer totalScore;


}
